Reenement in a Type Extension Context

نویسندگان

  • Peter Bancroft
  • Ian Hayes
چکیده

This paper extends the methods of the reenement calculi to allow the derivation of an Oberon implementation. The use of records, pointers, opaque types and type extension distinguishes this work from previous examples. A case study for a stack abstract data type illustrates the method, which involves three data reenement steps. Firstly, a sequence of integers is reened to a sequence of integer records with pointers. Secondly, the sequence of records is reened to a linked list accessed through a start pointer. Finally, this is reened to a generic implementation that is close to Oberon code. Pointers are facilitated by declaring an explicit local data store for each stack variable. The advantage of Oberon over Modula-2 is the ability to separate the nal code into two modules | a generic stack that maintains the linked list property and an integer instantiation of the stack, using type extension. This separation of concerns (isolation of the linked data structure properties) is the main beneet of the approach.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Thesis Proposal: Practical Reenement-type Checking

One of the major beneets of statically-typed programminglanguages is that they signiicantly improve programmer productivity. An obvious reason for this is that they dramatically reduce the amount of time spent debugging by catching most common errors at compile time. A perhaps more important reason is that programmers can use the types to guide understanding of the structure of a piece of code,...

متن کامل

Supporting Contexts in Program Reenement Note: Most Svrc Technical Reports Are Available Supporting Contexts in Program Reenement

A program can be reened either by transforming the whole program or by reening one of its components. The reenement of a component is, for the main part, independent of the remainder of the program. However, reenement of a component can depend on the context of the component for information about the variables that are in scope and what their types are. The reenement can also take advantage of ...

متن کامل

Correctness Proof For the WAM with Types

We provide a mathematical speciication of an extension of Warren's Abstract Machine for executing Prolog to type-constraint logic programming and prove its correctness. In this paper, we keep the notion of types and dynamic type constraints rather abstract to allow applications to diierent constraint formalisms like Prolog III or CLP(R). This generality permits us to introduce modular extension...

متن کامل

Inheritance of Object Behavior - Consistent Extension of Object Life Cycles

Inheritance is one of the most prominent features of object-oriented design. Object types are organized in hierarchies in which subtypes inherit the structure as well as the behavior of supertypes. As inheritance of behavior is concerned, the discussion has mainly focused on inheritance of single activities in the past. Object behavior, however, is speciied at two interrelated levels of detail:...

متن کامل

Conservative Expansion Concepts for Default Theories

Conservative extensions of logical theories play an important role in software engineering. They provide a formal basis for program reenement and guarantee the integrity and transparency of modules and objects. This paper studies conservative extension ideas in the context of default logic. In particular, we deene several alternative concepts, study their properties, and derive interconnections...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1996